iT邦幫忙

2023 iThome 鐵人賽

DAY 2
5
WordPress

暢玩 WordPress 30 天 部署 X 開發 X 上線系列 第 2

Day02: 初見 WordPress! 在自己的電腦啟動一套完整的 WordPress

  • 分享至 

  • xImage
  •  

在自己的電腦啟動一套完整的 WordPress 是必要的嗎?

不是,如果你不想在自己的電腦上安裝環境啟動 WordPress 也完全沒有問題,你可以跳過這一章節因為我們可以使用線上環境搭建測試/正式環境來使用,而僅需要用自己電腦上的瀏覽器管理 WordPress。

但我計畫以由淺到深,由自己的電腦延伸到雲端伺服器的做法來讓讀者能夠盡可能全面的了解 WordPress 的用途與概念並且在初期盡可能減少知識點,所以才先從自己的電腦上啟動 WordPress。
WordPress 啟動位置

不論你是 Windows、Linux 還是 Mac 我希望都用 Docker 啟動 WordPress

由於 Windows、Linux、Mac 這三套作業系統各自有不同的開發方法與環境設定的處理,而且隨著時間與版本更替,細節的設定可能也會有大差異,而我希望這一個文章可以讓不同作業系統的使用者參考,盡可能不被版本更新而影響步驟,因此我選擇使用 Docker 來搭建 WordPress 的環境。

我們會需要在電腦上啟用 Docker 這服務才能作接下來的動作,而安裝 Docker 我認為有些偏離主題與稀釋讀者注意力因此不在此多介紹。

尚未準備好環境的讀者們請允許我幫朋友推書,我推薦去看這一篇優質的 Docker 系列文章 30 天與鯨魚先生做好朋友

其中的 Day02安裝 Docker 環境 有介紹如何安裝環境與有哪些線上的 Docker 可以使用,看不過癮的可以去找找該鐵人賽延伸的書籍 30天與 Docker 做好朋友:跟鯨魚先生一同探索開發者的大平台(iT邦幫忙鐵人賽系列書)

但就算不熟悉只要跟著文章內的指令與教學一步一步進行,也能達到我們的效果,如果對 Docker 有興趣可以透過推薦的文章與書籍來深入研究這項技術。

30天與 Docker 做好朋友:跟鯨魚先生一同探索開發者的大平台

使用 Docker 啟動 WordPress

我們會使用到:
WordPress 的官方 DockerHub
MariaDB 的官方 DockerHub
MySQL 的官方 DockerHub
MySQL Arm 的 DockerHub

這裡要說明一下,MariaDB 不等於 MySQL。

MariaDB 是 MySQL 的開發團隊將 MySQL 賣出給甲骨文後自行開發的 MySQL 兼容資料庫,WordPress 由於 MariaDB 兼容 MySQL 的關係故可以直接使用 MariaDB 作為資料庫。

而之所以使用 MariaDB 作為開發環境是因為 MariaDB 原生支援在 Arm 架構上執行而 Arm 版本的 MySQL 我測試下來效能與穩定性略有問題,為了避免讀者在使用 Mac M系列 的 Arm 架構晶片時發生問題,因此採用 MariaDB 作為範例資料庫。

但官方的範例仍然是使用 MySQL,因此如果對 MariaDB 抱持存疑的話,可以在以下的教學中替換成使用 MySQL。

好!那讓我們先準備好一個資料夾,取名為 wordpress (這名字看你開心,高興就好)

https://ithelp.ithome.com.tw/upload/images/20230903/20162570UooKew1gWS.png

在該目錄下建立一個 docker-compose.yml

這是一份使用最新版本的 WordPress、MariaDB 與附帶一個網頁管理資料庫的 Adminer 的開發大禮包,之所以會預設一個 Adminer 是因為我希望讀者在開發時也要能夠隨時觀察資料庫的資料變化,更全面的理解 WordPress。

如果你自己有了資料庫管理工具,可以直接移除 adminer 的區塊。

version: '3.8'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 80:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: ithelp!user
      WORDPRESS_DB_PASSWORD: ithelp!pass
      WORDPRESS_DB_NAME: ithelp!db
    volumes:
      - wordpress:/var/www/html
  db:
    image: mariadb
    restart: always
    environment:
      MARIADB_DATABASE: ithelp!db
      MARIADB_USER: ithelp!user
      MARIADB_PASSWORD: ithelp!pass
      MARIADB_ROOT_PASSWORD: ithelp!root!db
    volumes:
      - db:/var/lib/mariadb
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080
volumes:
  wordpress:
  db:

來解釋一下相關參數與修改規則:
version: '3.8' 這意思是指定 Docker 使用什麼版本的規則解釋你的設定檔,不是你的設定檔自己的版本,因此這不能改,詳細可以看 Compose file version 3 reference

WORDPRESS_DB_HOST 該參數是 WordPress 連接的資料庫網址,由於我們的啟動是在 Docker 內的預設網路,因此直接填服務名稱 db 就好。

WORDPRESS_DB_USER 該參數是 WordPress 連接資料庫的使用者,對應到 db 區塊的 MARIADB_USER。

WORDPRESS_DB_PASSWORD 該參數是 WordPress 連接資料庫的密碼,對應到 db 區塊的 MARIADB_PASSWORD。

WORDPRESS_DB_NAME 該參數是 WordPress 連接資料庫的資料庫名稱,對應到 db 區塊的 MARIADB_DATABASE。

MARIADB_ROOT_PASSWORD 該參數是資料庫本身的最高管理密碼對應到的帳號是 root,該組帳號就是最高管理權限了,因此需要妥善保管。

在該目錄下執行 docker-compose up -d

docker-compose up -d

執行後你會看到他開始抓 Docker Image 與啟動
https://ithelp.ithome.com.tw/upload/images/20230903/20162570jZ3j6T0pw4.png

https://ithelp.ithome.com.tw/upload/images/20230903/201625706NifcVbiYz.png

接下來訪問你電腦的 80 port

http://127.0.0.1/

你看到這個畫面的話,恭喜你成功了~
https://ithelp.ithome.com.tw/upload/images/20230903/20162570FtEVKbmwuG.png

讓我們輸入一下資訊,就可以順利安裝 WordPress 了
https://ithelp.ithome.com.tw/upload/images/20230903/20162570Z47zjknrzn.png

接下來訪問你電腦的 8080 port

http://127.0.0.1:8080/

你看到這個很有年代感的工程師風味畫面的話,恭喜你成功了~
https://ithelp.ithome.com.tw/upload/images/20230903/20162570WjML5sQBc1.png

在這頁面登入資料庫試試,依序輸入
https://ithelp.ithome.com.tw/upload/images/20230903/20162570FDlPbgFaci.png

帳號:ithelp!user
密碼:ithelp!pass
資料庫:ithelp!db

你看到這個畫面的話,你成功登入資料庫了,恭喜你!
https://ithelp.ithome.com.tw/upload/images/20230903/20162570tt8enD4hMS.png

登入 WordPress 後台與前台

我們可以在 http://127.0.0.1/wp-login.php 進行登入,輸入剛才安裝時設定的 WordPress 帳號密碼
我的是

帳號: admin
密碼: a)(E(LXxFh^5n%%Rs)

後台的網址會是: http://127.0.0.1/wp-admin/
https://ithelp.ithome.com.tw/upload/images/20230903/201625701lHfTQn37t.png

前台的網址會是: http://127.0.0.1
https://ithelp.ithome.com.tw/upload/images/20230903/2016257024MwG2IcVT.png

總結與補充

我們在這一天完成了在電腦上透過 Docker 啟動 WordPress 並且使用了 Adminer 管理安裝資料庫。
https://ithelp.ithome.com.tw/upload/images/20230903/20162570MBCN0Bl7rG.png

如果你喜歡使用 MySQL,以下是補充給這類讀者的 docker-compose.yml

version: '3.8'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 80:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: ithelp!user
      WORDPRESS_DB_PASSWORD: ithelp!pass
      WORDPRESS_DB_NAME: ithelp!db
    volumes:
      - wordpress:/var/www/html
  db:
    image: mysql
    restart: always
    environment:
      MYSQL_DATABASE: ithelp!db
      MYSQL_USER: ithelp!user
      MYSQL_PASSWORD: ithelp!pass
      MYSQL_ROOT_PASSWORD: ithelp!root!db
    volumes:
      - db:/var/lib/mysql
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080
volumes:
  wordpress:
  db:

明天的預告

明天會介紹使用線上服務搭建 WordPress,尚不會進到 WordPress 本身。

但僅會介紹單純架起來可供開發,而不會介紹到安全性、備份、網域這塊,目的是讓不想在本地啟動環境的讀者能夠搭建環境。


上一篇
Day01: 什麼是 WordPress?用它架設出來的網站有什麼特別的?
下一篇
Day03: 嘗試 WordPress! 在雲端平台測試使用 WordPress
系列文
暢玩 WordPress 30 天 部署 X 開發 X 上線30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言